Computers have been applied as test computers associated with contact centers. Contact centers are known to those of ordinary skill in the art as those systems to which a person can communicate to receive information. Such communication can include, but is not limited to, telephone calls, Internet access, email, and FAX.
A contact center can include one or more interactive voice response (IVR) applications, which can be run across one or more IVR systems. The one or more IVRs provide automatic branching voice queries to which the caller responds with button pushes on a telephone keypad or with voice responses on a telephone. The contact center is provided having only the one or more IVR systems, or alternatively, it is also provided having human agents. For example, at the end of the IVR branching voice queries, the caller can be directed to press zero to speak to an agent. The agent is a person having a telephone to talk to the caller, hereafter referred to as an “agent telephone,” and a computer to access information about the caller, hereafter referred to as an “agent computer.” Note that though the agent telephone and the agent computer are often associated with one person, they correspond to distinct electronic systems and will be separately referred to herein.
The contact center can also include one or more database server computers, one or more database storage areas, one or more web server computers, and one or more email server computers.
Various testing systems have been provided to test functions associated with the contact center. For example, the HammerIT™ from Empirix, Inc. of Waltham, Mass., can be used to simulate telephone callers in a public switched telephone network (PSTN) having one or more telephone callers who access the contact center either sequentially or in parallel. The HammerIT™ system provides a “virtual telephone caller system” having “virtual telephone callers” that can exercise and test the responses of the one or more IVR systems. The virtual telephone caller system can also be used to test the agent telephone functions of the contact center, providing a “virtual agent telephone system” having “virtual agent telephones.” The virtual telephone caller system can also be used to test FAX functions of the contact center.
Various testing systems have also been provided to test the agent computer function of the contact center. For example, the E-test™ system from the Empirix Inc. can be used to simulate the computer functions of the agent computer, providing a “virtual agent computer system” having “virtual agent computers.” The E-test™ system can also provide a “virtual web user system” having “virtual web users” that include simulations of people who access web pages on a web server within the contact center, people who send/receive email associated with an email server within the contact center, and people who send/receive FAX information associated with a FAX system within the contact center. The virtual telephone caller systems, virtual agent telephone systems, virtual agent computer systems, and virtual web user systems will hereafter be referred to as “virtual test systems.” The overall prior art system is shown below in association with FIG. 1.
Virtual telephone caller systems have been provided that are programmed in a variety of ways. For example, the HammerIT™ virtual telephone caller system described above can be programmed in Hammer Visual Basic. The Hammer Visual Basic program corresponds to a test script that causes the virtual telephone caller system to perform a sequence of programmed tests of the contact center, and in particular, test of the one or more IVR systems within the contact center. For example, the test script can be associated with simulated telephone caller queries to the IVR, such as simulated telephone keypad button pushes or telephone caller voice commands.
Alternatively, a graphical user interface (GUI) can be provided that allows the user to program the virtual telephone caller system using graphical icons that can be connected together in a “call flow diagram.” Such graphic user interfaces provide automatic test generation. For example, the Hammer CallMaster™ software system from Empirix, Inc. of Waltham, Mass., allows the user to interconnect icons on a graphical display, each icon representing an action (or set of actions) to be taken by the virtual telephone caller system, and the interconnections corresponding to a sequence of actions. The call flow diagram results in the automatic generation of the test script described above.
Call flow diagrams are created using a graphical call flow editor in conjunction with a standard library of call flow icons. Each call flow icon is associated with test code necessary to execute the call flow action and an appropriate set of default telephony parameters. These parameters can be overridden on either a global or instance basis. Users can also specify the data to be used in the tests.
Automatic test generation software, is provided, (for example, as part of the Hammer CallMaster™ software system described above), that can exercise the variety of branches through the call flow diagram in a way prescribed by the user. The automatic test generation software eliminates the tedious, unreliable and time-consuming process of manual test design and execution by giving users the power to automatically generate and execute tests derived from a call flow diagram.
By way of the automatic test generation software, test developers create automated tests simply by generating the call flow diagram. Using automatic test generation technology, the software then automatically generates a set of test scripts that are used to exercise all or part of the call flow paths and data in the call flow diagram. Under user control, tests can be generated to do focused testing of a new feature, or general regression testing of the entire application. The same tests can be used for post-deployment monitoring and maintenance to ensure that the application continues to deliver the highest possible level of performance.
As described above, the virtual telephone caller system can be programmed in a programming language to directly provide the test scripts. Alternatively, as also described above, the user can generate the call flow diagram, and the system can automatically convert the call flow diagram to the test scripts. The test scripts act upon virtual telephone caller system hardware to provide simulated telephone calls and simulated telephone caller actions, such as telephone button pushes. Virtual telephone caller systems have used test scripts provided in a variety of software languages. Visual Basic based software is but one language that can be used by the user to program the virtual telephone caller systems.
Some IVR systems can be programmed using Voice Extensible Markup Language (VXML), and/or other speech or voice-capable markup languages, for example, Speech Application Language Tags (SALT), and Call Control Extensible Markup Language (CCXML). Voice-capable markup languages, for example VXML, SALT, and CCML, are extensible markup languages (XMLs) that can be used to represent human-computer dialogs, and have proven useful for the creation of IVR applications. A voice-capable markup language application, for example a VXML, SALT, or CCML application, can include one or more text files called documents. These document files are denoted by a “.vxml” (or similar) file extension and contain the various voice-capable markup language instructions for the application.
VXML, and other voice-capable markup languages, take advantage of improvements in computer-based speech recognition and text-to-speech synthesis, spread of the World Wide Web and associated technologies and development techniques beyond the desktop computer, and standards organizations that promote markup language and protocol formats. The Internet has begun to extend beyond computers to other devices such as personal digital assistants (PDAs) with wireless data connections, and mobile phones supporting the Wireless Application Protocol (WAP). There are a far greater number of telephones than Internet connected computers in the world today. Mobile phones are achieving greater popularity in part because they are small, light, inexpensive, and have a long battery life, making them far more portable than computers. Mobil phones can be used for applications that aren't feasible on computers, such as location-based services.
IVRs utilizing VXML have shown promise in several applications. One such application involves information retrieval. In these types of applications, output tends to be pre-recorded information, and voice input is often limited to navigational commands and limited data entry commands. A particular information retrieval application that makes use of voice input is a weather application that gets the location as a city name which is spoken by the user.
Another application for a VXML based IVR system includes telephone services. A corporation uploads a voice web site to its voice service provider with information, news, upcoming events, and an address book. The address book is then used for voice dialing people in the corporation.
Yet another application involves electronic commerce. Catalog ordering applications; customer service applications such as package tracking, account status, and call centers; and financial applications such as banking, stock quotes and trading are further examples of electronic commerce IVR applications which incorporate VXML. While IVRs incorporating VXML are gaining in popularity, testing of the IVRs has proven difficult.